专利摘要:
本發明涉及利用隨機排序和隨機區塊大小的安全資料傳輸。加密資訊通常被分成順序傳輸的區塊。因為能容易地確定這種區塊的順序和大小,所以竊取者能獲得關於通信的內容的有價值的資訊。更具體地,如果已知區塊記憶體內存在的資訊類型,則可以確定密鑰,從而能夠獲得其他加密的區塊的內容。本文描述的系統、方法以及電腦程式產品的實施方式能通過隨機排序和隨機區塊大小安全地傳輸資訊來克服此缺陷。要被傳輸的原始資料組被劃分成多個區塊,其中至少兩個區塊具有不同的大小。每個區塊被加密。加密的區塊被插入資料傳輸槽的序列中。然後,通過基於產生的亂數而選擇傳輸的槽來以隨機順序選擇用於傳輸的區塊。通過利用傳輸用的多個通道並傳輸至多個目的地來達到附加的安全性。
公开号:TW201320655A
申请号:TW101133998
申请日:2012-09-17
公开日:2013-05-16
发明作者:Elaad Adar;Roy Lerner;Jacob Mendel;Eyal Webber-Zvik;Johnson Waskar
申请人:Broadcom Corp;
IPC主号:H04L9-00
专利说明:
利用隨機排序和隨機區塊大小的用於安全資料傳輸的裝置和方法
本申請主要涉及資料通信,更具體地,涉及資訊安全。
用以傳輸金融的和其他的重要資訊的電腦技術的使用持續增加。由於這些傳輸的屬性,保護資訊在傳輸過程中不洩露給非授權方是很重要的。傳統上利用加密提供這些通信的安全。
無論是否採用加密,資料的傳輸通常通過將資料分成多個區塊並且順序傳輸這些區塊來實現。每個區塊中的資訊通常具有相同的大小。由於這種區塊的順序和大小可被容易地確定,所以,即使被加密,竊取者仍能獲得關於通信內容的有價值的資訊。更具體地,如果已知區塊記憶體內存在的資訊類型,則可以確定加密密鑰,從而可以獲得利用相同密鑰加密的其他區塊的內容。
當存在相同內容的多個副本被分配時,該問題更加惡化。例如,數位區塊遞送服務向用戶分配數位書的多個副本。每個副本可通過不同的密鑰加密。因為竊取者已存取了用不同密鑰多次加密的已知資料(例如,書的第一頁),所以竊取者可能能夠恢復用於加密該資料的密鑰。竊取者然後能使用該密鑰來解密剩餘的資料。
因此,需要一種用於安全地傳輸和存儲包含已知資訊類型的資料的系統。
根據本發明的一個方面,提供了一種用於原始資料組的安全資料傳輸的裝置,包括:第一模組:被配置為將所述原始資料組劃分成多個區塊,其中,所述多個區塊中的至少兩個區塊具有不同的大小;加密處理器:被配置為對所述多個區塊進行加密;以及第二模組;被配置為以隨機的順序傳輸所述多個區塊。
優選地,第一模組被進一步配置為在將原始資料組劃分成多個區塊之前對原始資料組應用環式移位(circular shift)。
優選地,第一模組被進一步配置為將原始資料中的一組識別資料分在兩個區塊之間。
優選地,第二模組被進一步配置為在傳輸期間在多個區塊中包括虛擬區塊(dummy block)。
優選地,第二模組被進一步配置為將一個區塊插入多個資料傳輸槽中的一個資料傳輸槽中,其中,資料傳輸槽的編號基於(based on)產生的亂數而得。其中,所述第二模組被進一步配置為基於產生的亂數來選擇資料傳輸槽。所述第二模組被進一步配置為傳輸與所選擇的資料傳輸槽相關聯的區塊。
根據本發明的另一個方面,提供了一種電腦可讀存儲裝置,具有被存儲的電腦可執行指令,通過計算裝置執行所述指令,使得所述計算裝置執行如下操作:將原始資料組劃分成多個區塊,其中,所述多個區塊中的至少兩個區塊具有不同的大小;在加密處理器中對所述多個區塊進行加密;以及以隨機的順序傳輸所述多個區塊。
優選地,在將所述原始資料組劃分成多個區塊之前對原始資料組應用環式移位。
優選地,將原始資料中的一組識別資料分在兩個區塊之間。
優選地,將一個區塊插入多個資料傳輸槽中的一個資料傳輸槽中,其中,資料傳輸槽的編號基於產生的亂數而得。其中,基於產生的亂數來選擇資料傳輸槽。其中,傳輸與所選擇的資料傳輸槽相關聯的區塊。
根據本發明的又一個方面,提供了一種用於安全資料傳輸的方法,包括:將原始資料組劃分成多個區塊,其中,所述多個區塊中的至少兩個區塊具有不同的大小;在加密處理器中對所述多個區塊進行加密;以及以隨機的順序傳輸所述多個區塊。
優選地,在將原始資料組劃分成多個區塊之前對原始資料組應用環式移位。
優選地,將原始資料中的一組識別資料分在兩個區塊之間。
優選地,將一個區塊插入至多個資料傳輸槽中的一個資料傳輸槽,其中,資料傳輸槽的編號基於產生的亂數而得。其中,基於產生的亂數來選擇資料傳輸槽。傳輸與所選擇的資料傳輸槽相關聯的區塊。
為使能更進一步瞭解本發明之特徵及技術內容,請參閱以下有關本發明之詳細說明與附圖,然而,所附圖式僅提供參考與說明用,並非用來對本發明加以限制者。
圖1是根據發明的實施方式的用於利用隨機排序和隨機區塊大小的安全資料傳輸的系統的示例性操作環境的框圖。示例性操作環境100包括源110、通信媒體140以及目的地150。
源110包括區塊創建器121、加密處理器122、隨機直接存儲存取(RDMA)模組123、亂數產生器124以及記憶體125。記憶體125被配置成存儲明碼文本(plaintext)131和一個或多個密碼密鑰132。明碼文本131是未被加密的資料。通過加密處理器將密碼密鑰132用於對資料進行密碼處理(例如,加密或解密)。密碼密鑰可如密碼演算法所要求的為對稱密鑰或非對稱密鑰。儘管記憶體125通常為RAM,但如本領域技術人員所理解的,記憶體125可以是任意類型的記憶體並且可以在加密處理器122的內部或外部。區塊創建器121被配置為將明碼文本131劃分成一個或多個可變大小的區塊。在下面的圖3中進一步詳細描述區塊創建器121的操作。
加密處理器122提供所需的密碼操作,以對由區塊創建器121所產生的一個或多個可變大小的區塊進行密碼處理。加密處理器可支援包括諸如AES、三重DES以及DES的對稱演算法或諸如DSA或RSA的非對稱演算法的各種密碼演算法。加密處理器可支援諸如RC4的流密碼(stream ciphers)。在實施方式中,加密處理器還可執行密碼混編(hash)功能。根據演算法需要,加密處理器可以使用各種大小的密鑰。
RDMA 123被配置成以隨機的順序經由通信媒體140傳輸加密的資料區塊。在下面的圖3中進一步詳細描述RDMA 123的操作。
在實施方式中源110經由通信媒體140將加密文本安全地傳輸至目的地150。通信媒體140可以是諸如網際網路的公共資料通信網路、私有資料通信網路、公共開關電話網絡(PSTN)、無線通信網路、電腦匯流排、電路通路,或其任意結合。資料源110與通信媒體140之間的介面可以是無線或有線介面。
目的地150包括加密處理器161、區塊重組器162以及記憶體163。目的地150可位於與源110物理上分開的地方。
加密處理器161被配置為對通過資料源110發送的一個或多個可變大小的區塊進行密碼處理(例如,解密)。為了解密接收到的加密資料,目的地150存儲一個或多個密碼密鑰。對相關領域的技術人員顯而易見的是,本發明可以使用用於在源110與目的地150之間交換密碼密鑰和其他所需資訊的各種技術。
區塊重組器162被配置為將可變大小的區塊重新排序到其原始的位置。在下面的圖9中進一步詳細描述區塊重組器162的操作。
記憶體163被配置為存儲加密文本171和一個或多個密碼密鑰172。在一個實施方式中,加密文本可在解密之前被存儲。可選地,存儲加密文本和所得的明碼文本。儘管記憶體163通常為RAM,但是如本領域中的技術人員所理解的,記憶體163可以是任意類型的記憶體並且可以在加密處理器161的內部或外部。
加密文本171包括通過源110發送的一個或多個加密區塊。密碼密鑰172是當由加密處理器161處理時結合加密文本171產生明碼文本131的一條資訊。根據密碼演算法,密鑰可以是對稱密鑰或非對稱密鑰。
本文所描述的技術還可用於提高災難恢復的安全性。圖2描述了根據發明的實施方式的用於安全資料傳輸和存儲的本發明系統的框圖。操作環境200包括源210、通信媒體240以及目的地250-1至250-N。上述參照圖1描述了源210和通信媒體240。在環境200中,原始資料被源劃分成多個加密區塊,並且這些區塊被分配至多個目的地。例如,在圖2中,加密區塊A被存儲在目的地250-1,加密區塊B被存儲在目的地250-3,加密區塊C、D和E被存儲在目的地250-2,而加密區塊X被存儲在目的地250-N。這種分配的實施方式提供了附加的安全位準(level)。
目的地250-1至250-N可包括與在圖1中所描述的目的地150相同的功能。然而,在該實施方式中,加密文本171的加密區塊在目的地250-1至250-N之間分配,使得每個資料目的檔包括一組區塊。加密文本171在目的地250-1至250-N之間分配確保了即使一個或多個目的檔丟失仍能恢復原始資料的至少一部分。另外,由於記憶體是分配的,在一個目的地的安全破壞將不會危及所有的原始資料。
圖3是根據本發明的實施方式的用於安全地傳輸資料的示例方法300的流程圖。基於下面的描述,其他結構的實施方式對相關領域的技術人員而言將是顯而易見的。圖3中所示的操作不必以所示的順序出現,方法300也不要求圖3中所示的所有操作都被執行。在下面詳細描述圖3的操作。
在步驟310中,明碼文本131的全部或一部分被劃分成多個可變大小的區塊。步驟310包括步驟312-316。
在實施方式中,在步驟310中,可以位元組的亂數量使明碼文本移位。可選地,可以位元的亂數量使明碼文本移位。隨機地使明碼文本移位提供了附加的資料安全,特別是當傳輸明碼文本131的多個副本時,這是因為各傳輸之間傳輸的第一位元組或位元不同。
在步驟312中,通過亂數產生器124產生亂數或偽亂數,Rval。然後使用亂數,Rval來確定移位量。例如,可如下計算移位量(Shift_Amount):Shift_Amount=mod(Rval,Plaintext_length)
在步驟314中,將明碼文本131移位了Shift_Amount位元組。在實施方式中,向左移位了位元組。如相關領域的技術人員所理解的,可使用用於移位資料的其他技術。圖4A描述了根據本發明的實施方式的將明碼文本劃分成可變大小的區塊的示例性實例。在圖4A中,系統已對資料產生了5的移位量。明碼文本401向左移位5個位元組以產生移位的文本402。從右邊移進的位元組是在左邊移出的位元組。換言之,應用了環式移位。
在步驟316中,將明碼文本劃分成多個可變大小的區塊。更具體地,以位元組計算的每個區塊的大小基於通過亂數產生器124產生的亂數而得。每個區塊在大小上必須為至少一個位元組並且小於或等於單個資料傳輸槽(single data transfer slot)的大小。例如,在圖4A中,明碼文本402中的位元組5和6組成了一個傳輸區塊,而位元組7、8、9和0組成了另一個傳輸區塊。
如果要求附加的資料安全,則區塊創建器123可將在明碼文本內的機密資訊在區塊之間劃分。換言之,為了防止機密資訊存儲在單個區塊中,區塊創建器123在隨機的位置處劃分機密資訊。圖4B描述了根據本發明的實施方式的將明碼文本內的機密資訊在區塊之間劃分的可選步驟的示例性實例。在圖4B中,區塊創建器123將明碼文本501中的機密資訊在區塊B和C之間劃分。基於亂數產生器124產生的亂數來確定移位的位置。對相關領域的技術人員顯而易見的是,可使用各種機制來通知區塊創建器123關於明碼文本中的機密資訊的位置。
在步驟320中,加密處理器122通過一個或多個密碼密鑰132而對多個可變大小的區塊進行加密。對相關領域的技術人員顯而易見的是,根據所使用的密碼演算法的要求,可順序地或同時地執行步驟310和320的部分。換言之,加密處理器122可將可變大小的區塊在它們被區塊創建器121產生時進行加密。可選地,加密處理器122可將可變大小的區塊在所有這些區塊被區塊創建器121產生之後進行加密。
在步驟330中,將加密的區塊傳輸至目的地。在實施方式中,可以無序地(out of order)傳輸加密的區塊。更具體地,一組加密的區塊被映射至多個資料傳輸槽。RDMA 123隨機選取資料傳輸槽並且將其中的加密的區塊傳輸至目的地。步驟330包括步驟332-336。
通常,加密的區塊以連續的順序被發送至目的地。然而,RDMA 123被配置成將加密的區塊無序地傳輸至一個或多個目的地。此外,在實施方式中,使用多條通道來傳輸加密的區塊。換言之,除了被無序地傳輸之外,加密的區塊可基於時間、頻率或其任意的組合而通過多條通道被傳播。
在步驟332中,確定資料傳輸槽的編號。資料傳輸槽被用於發送一組加密的區塊。每個資料傳輸槽可具有表示其順序位置的槽編號。
為了提升安全性,資料傳輸槽的編號基於通過亂數產生器124產生的亂數而得。此外,一旦分配給資料傳輸槽的一組加密的區塊被傳輸,則重新確定資料傳輸槽的編號。通過計算每組加密的區塊的隨機資料傳輸槽,提高了安全性。
當加密的區塊被分配至多個目的地時,在資料傳輸槽中的加密的區塊將優選地被發送至相同的目的地。然而,對相關領域中的技術人員顯而易見的是,可以使用各種方法和資料結構將在不同資料傳輸槽中的資料發送至不同的目的地。
資料傳輸槽的編號可通過下面的公式來計算:SQ=mod(Rval,SQmax-Sqmin)+SQmin
Rval是通過亂數產生器124產生的亂數。SQmax和SQmin是資料傳輸槽的最大編號和最小編號。SQ為用於傳輸的資料傳輸槽的編號。SQ在SQmin與SQmax的範圍內。如前面所討論的,為了增加資料的安全性,SQ的值可隨每次傳輸而變化。
在步驟334中,加密的區塊被順序地映射至資料傳輸槽。加密的區塊1被映射至資料傳輸槽1,加密的區塊2被映射至資料傳輸槽2,等等。
如果要求附加的資料安全性,RDMA 123在資料傳輸之前可產生一個或多個虛擬區塊。RDMA 123將一個或多個虛擬區塊隨機地映射至一個或多個資料傳輸槽。例如,在圖6中,虛擬區塊被映射至資料傳輸槽6。對相關領域中的技術人員顯而易見的是,可利用各種方法將一個或多個虛擬區塊映射至一個或多個資料傳輸槽。
一個或多個虛擬區塊表示偽資料(spurious data),通過發送一個或多個虛擬區塊,攔截區塊的第三方將不能確定是否該區塊表示合法的資料。然而,虛擬區塊的使用降低了資料吞吐率(throughout)。因此,對相關領域中的技術人員顯而易見的是,虛擬區塊的使用表示資料安全性與傳輸速度之間的平衡。
在步驟336中,選擇並傳輸未被傳輸的加密的區塊。在下面的圖5中進一步詳細描述隨機區塊傳輸操作。
在步驟340中,目的地150接收加密的區塊並且將其存儲在記憶體163中。目的地150還接收與加密的區塊相關聯的資料槽編號。
在步驟350中,加密處理器161利用密碼密鑰172來解密已加密的區塊。從而獲得原始的可變大小的區塊。對現有技術中的技術人員顯而易見的是,存在各種在源與目的地之間安全地交換密碼密鑰的機制。
在步驟360中,區塊重組器162根據所接收的資料槽編號將被解密的可變大小的區塊排序。在下面的圖7中進一步描述區塊重組器162的操作。
對相關領域的技術人員顯而易見的是,可順序地或同時地執行步驟350和360。
圖5描述了根據本發明的實施方式的用於隨機傳輸加密的區塊的方法的步驟336的流程圖。基於下面的討論,其他結構的實施方式對相關領域中的技術人員而言是顯而易見的。圖5中所示的操作無需以所示的順序出現,方法500也不必要求執行圖5中所示的全部操作。下面詳細描述圖5的操作。
在步驟510中,將剩餘的要傳輸的資料傳輸槽的編號(例如,Scurr)初始化為在圖3的步驟332中所計算的資料傳輸槽的編號。
在步驟520中,通過亂數產生器124來產生亂數,例如,Rval。
在步驟530中,利用亂數Rval來計算要傳輸的資料傳輸槽。更具體地,基於Rval來計算要傳輸的資料傳輸槽的槽編號。資料傳輸槽編號可計算如下:Sidx=mod(Rval,SQ)
Rval是通過亂數產生器124產生的亂數。SQ是在步驟332中計算的資料傳輸槽的編號。Sidx是要傳輸的資料傳輸槽的槽編號。
在可選的實施方式中,可基於其他因素來選擇資料傳輸槽編號。例如,可基於區塊的傳輸優先順序或發送區塊的用戶來選擇資料傳輸槽編號。對相關領域中的技術人員顯而易見的是,傳輸的優先順序可反映區塊中的資料類型,所述區塊的傳輸成本,或其任意的組合。
在步驟540中,確定被映射至資料傳輸槽Sidx的加密的區塊先前是否已被傳輸。如果該加密的區塊已被傳輸,則處理返回至步驟520。
在步驟550中,被映射至資料傳輸槽Sidx的加密的區塊被傳輸至目的地。資料傳輸槽編號,例如,Sidx,也被發送至目的地。在優選實施方式中,Sidx作為加密的區塊經由不同的通信通道被發送至目的地。
在步驟560中,資料傳輸槽被標記為已傳輸。這防止了加密的區塊被再次傳輸。
在步驟570中,剩餘的要傳輸的槽的編號(例如,Scurr)減一。
在步驟580中,如果仍有槽要被傳輸(例如,Scurr大於或等於1),則操作返回至步驟520,其中,選擇另一槽並且傳輸其對應的資料。重複步驟520-580,直至已選擇了每個可用的槽。
對相關領域中的技術人員顯而易見的是,可以一次傳輸一個加密的區塊。可選地,可同時傳輸多個加密的區塊。
如果要求附加的安全性,還可通過多個獨立通道分配加密的區塊。換言之,加密的區塊可基於時間、頻率或其組合來傳播。
圖7描述了根據本發明的實施方式的用於重組可變大小區塊的示例性方法的流程圖。基於下面的討論,其他結構的實施方式對相關領域中的技術人員而言將是顯而易見的。圖7中所示的操作無需以所示的順序發生,方法700也並不要求圖7中所示的所有操作被執行。下面詳細描述圖7的操作。
在步驟710中,將接收的槽編號列表(例如,Recv_List)設定為空。Recv_List包含所接收的資料傳輸槽編號。Recv_List被用於確定源110是否已從資料傳輸槽完成傳輸加密的區塊。對相關領域中的技術人員顯而易見的是,利用各種方法和資料結構,所接收的槽編號列表可被實現並且被提供至一個目的地或多個目的地。
在步驟720中,接收解密的區塊和其相關的資料槽編號(例如,Sidx)。
在步驟730中,區塊重組器162確定Sidx是否在所接收的槽編號列表中。如果Sidx不在該列表中,則操作進行至步驟750。如果Sidx在該列表中,則解密的區塊或者被重新傳輸,或者源110已開始從資料傳輸槽的新範圍傳輸加密的區塊。
在步驟740中,區塊重組器162確定解密的區塊是否已被存儲在其餘解密的區塊之中的位置Sidx。如果解密的區塊還未被存儲,則該區塊被重新傳輸且操作進行至步驟760。如果區塊已被存儲在Sidx,則源110已開始從資料傳輸槽的新的範圍傳輸加密的區塊並且操作轉回至步驟710。
在步驟750中,Sidx被添加至所接收的槽編號列表,例如,Recv_List。
在步驟760中,區塊重組器162將解密的區塊重新排序在其餘解密區塊之中的位置Sidx。對相關領域中的技術人員顯而易見的是,可使用各種方法和資料結構,以通過資料傳輸槽編號將解密的區塊排序。例如,解碼的區塊可被分配成將陣列偏移Sidx。
相關領域的技術人員可以理解的是,區塊重組器162的操作可擴大至將區塊重組成明碼文本,其如圖2中所描述的區塊在多個目的地之間分配。例如,在優選實施方式中,一組資料傳輸槽中的每個資料傳輸槽被發送至相同的目的地,存儲在資料傳輸槽中的明碼文本之連續片段的開始偏移值將被發送至目的地。然後,基於偏移值,在目的地重組的每片明碼文本被合併成明碼文本。 通用電腦系統的實例
本文所給出的實施方式或其部分可以以硬體、韌體、軟體和/或其結合來實現。
本文給出的實施方式應用於兩個或多個裝置之間的或在一個裝置的子元件內的系統。可以以硬體、軟體或其某種結合來實現本文所描述的典型功能。例如,該典型功能可利用電腦處理器,電腦邏輯電路、專用積體電路(ASIC)、數位信號處理器等來實現,就如本領域中的那些技術人員基於本文給出的討論所理解的那樣。因此,執行本文所描述的功能的任何處理器都在本文給出的實施方式的範圍和思想內。
下面描述了可用于實現本文所公開的實施方式的通用電腦系統。本公開可以以硬體來或者軟體與硬體的結合來實現。因此,可在電腦系統或其他處理系統的環境中實現該公開。在圖8中示出了這樣的電腦系統800的實例。電腦系統800包括一個或多個處理器,諸如處理器804。處理器804可以是專用或通用數位信號處理器。處理器804被連接至通信基礎設施(例如,匯流排或網路)。按照該示例性電腦系統而描述了各種軟體的實現方式。在閱讀該描述之後,相關領域中的技術人員顯而易見的是如何利用其他電腦系統和/或計算機架構來實現本公開。
電腦系統800還包括主記憶體805,優選地隨機存取記憶體(RAM),並且還可包括第二記憶體810。第二記憶體810例如可包括硬碟驅動器812,和/或RAID陣列816,和/或表示為軟碟驅動器、磁帶驅動器、光碟驅動器等的可移動存儲驅動器814。可移動存儲驅動器814以眾所周知的方式從可移動存儲單元818讀取和/或寫入至該可移動存儲單元。可移動存儲單元818表示軟碟、磁帶、光碟等。正如將所理解的,可移動存儲單元818包括具有在其中存儲了電腦軟體和/或資料的電腦可用存儲媒體。
在可選的實現中,第二記憶體可包括用於使電腦程式或其他指令被載入至電腦系統800的其他類似裝置。這樣的裝置例如可包括:可移動存儲單元822和介面820。這樣的裝置的實例可包括:程式盒式(cartridge)記憶體和盒式記憶體介面(諸如,在視頻遊戲裝置中找到的),可移動記憶體晶片(諸如EPROM或PROM)和相關的插座,以及允許軟體和資料從可移動存儲單元822被傳輸至電腦系統800的其他可移動存儲單元822和介面820。
電腦系統還可包括通信介面824。通信介面824允許軟體和資料在電腦系統800與外部裝置之間傳輸。通信介面824的實例可包括數據機、網路介面(諸如網際網路卡)、通信埠、PCMCIA槽和卡等。經由通信介面824傳輸的軟體和資料為信號828的形式,其可以是電子的、電磁的、光的或能夠通過通信介面824接收的其他信號。這些信號828經由通信路徑826而被提供至通信介面824。通信路徑826承載信號828並且可以利用導線或電纜、光纖、電話線、蜂窩(cellular)電話鏈路、RF鏈路以及其他通信通道來實現。
在本文中使用的術語“電腦媒體”和“電腦可用媒體”通常指諸如可移動存儲驅動器814、安裝在硬碟驅動器中的硬碟812以及信號828的媒體。這些電腦程式產品為用於向電腦系統800提供軟體的裝置。
電腦程式(還稱為電腦控制邏輯)存儲在主記憶體805和/或第二記憶體810中。還可通過通信介面824來接收電腦程式。這種電腦程式在被執行時使得電腦系統800能夠實現如本文所描述的本公開。具體地,電腦程式在被執行時使得處理器804能夠實現本公開的處理。例如,電腦程式在被執行時使得處理器804能夠實現在上面參照本文中的流程圖描述的步驟的一部分或全部。本公開係利用軟體來實現,軟體可被存儲在電腦程式產品中和利用RAID陣列816、可移動存儲驅動器814、硬碟驅動器812或通信介面824而被載入至電腦系統800中。
在其他實施方式中,本公開的特徵主要以利用(例如)諸如專用積體電路(ASIC)和可編程的或靜態的閘陣列的硬體元件的硬體來實現。實現硬體狀態機以執行本文所描述的功能對相關領域中的技術人員而言是顯而易見的。 結論
儘管上面已描述了各種實施方式,但應理解的是,通過示例的方式給出這些實例而不是給出限制。對相關領域中的技術人員顯而易見的是,在不背離本文所給出的實施方式的思想和範圍的前提下,可以做出各種形式和細節上的變化。
在上面已借助於示出了具體功能特性及其關係的功能結構區塊和方法步驟描述了本文給出的實施方式。為便於描述,本文中任意限定了這些功能結構區塊和方法步驟的邊界。只要具體的功能及其關係被適當地執行,可以定義出可替代的邊界。因此,任何這種可替代的邊界是在所要求的實施方式的範圍和精神內。本領域的技術人員應認識到,可通過分離的元件、專用積體電路、執行適當的軟體等的處理器或其任意組合來實現這些功能結構區塊。因此,本實施方式的廣度和範圍不應受限於上述任意示例性實施方式,而應僅根據下面的申請專利範圍及其等同替換來定義。
100‧‧‧示例性操作環境
110‧‧‧源
121‧‧‧區塊創建器
122‧‧‧加密處理器
123‧‧‧RDMA
124‧‧‧亂數產生器
125‧‧‧記憶體
131‧‧‧明碼文本
132‧‧‧密碼密鑰
140‧‧‧通信媒體
150‧‧‧目的地
161‧‧‧加密處理器
162‧‧‧區塊重組器
163‧‧‧記憶體
171‧‧‧加密文本
172‧‧‧密碼密鑰
200‧‧‧操作環境
210‧‧‧源
240‧‧‧通信媒體
250-1至250-N‧‧‧目的地
401,402‧‧‧明碼文本
800‧‧‧電腦系統
804‧‧‧處理器
805‧‧‧主記憶體
810‧‧‧第二記憶體
812‧‧‧硬碟驅動器
814‧‧‧可移動存儲驅動器
816‧‧‧RAID陣列
818‧‧‧可移動存儲單元
820‧‧‧介面
822‧‧‧可移動存儲單元
824‧‧‧通信介面
826‧‧‧通信路徑
828‧‧‧承載信號
圖1是根據發明的實施方式的用於利用隨機排序和隨機區塊大小的安全資料傳輸的系統的示例性操作環境的框圖。
圖2是根據發明的實施方式的用於利用隨機排序和隨機區塊大小的安全資料傳輸的系統的可選的操作環境的框圖。
圖3是根據本發明的實施方式的用於安全地傳輸資料的示例性方法的流程圖。
圖4A是根據本發明的實施方式的用於將明碼文本劃分成不同大小的區塊的方法的示例性實例。
圖4B是根據本發明的實施方式的將明碼文本劃分成不同大小的區塊的方法的可選步驟的示例性實例。
圖5描述了根據本發明的實施方式的用於無序地隨機傳輸加密區塊的方法的步驟的流程圖。
圖6是根據本發明的實施方式的用於無序地隨機傳輸加密區塊的方法的示例性實例。
圖7是根據本發明的實施方式的用於重組可變化大小的區塊的示例性方法的流程圖。
圖8示出了實施方式可被實現的示例性電腦系統的框圖。
100‧‧‧示例性操作環境
110‧‧‧源
121‧‧‧區塊創建器
122‧‧‧加密處理器
123‧‧‧RDMA
124‧‧‧亂數產生器
125‧‧‧記憶體
131‧‧‧明碼文本
132‧‧‧密碼密鑰
140‧‧‧通信媒體
150‧‧‧目的地
161‧‧‧加密處理器
162‧‧‧區塊重組器
163‧‧‧記憶體
171‧‧‧加密文本
172‧‧‧密碼密鑰
权利要求:
Claims (10)
[1] 一種用於原始資料組的安全資料傳輸的裝置,包括:一第一模組,被配置為將所述原始資料組劃分成多個區塊,其中所述多個區塊中的至少兩個區塊具有不同的大小;一加密處理器,被配置為對所述多個區塊進行加密;以及一第二模組,被配置為以隨機的順序傳輸所述多個區塊。
[2] 如申請專利範圍第1項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第一模組被進一步配置為在將所述原始資料組劃分成所述多個區塊之前對所述原始資料組應用環式移位。
[3] 如申請專利範圍第1項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第一模組被進一步配置為將所述原始資料中的一組識別資料分在兩個區塊之間。
[4] 如申請專利範圍第1項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第二模組被進一步配置為在傳輸期間在所述多個區塊中包括虛擬區塊。
[5] 如申請專利範圍第1項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第二模組被進一步配置為將一個區塊插入於多個資料傳輸槽中的一個資料傳輸槽中,其中,所述資料傳輸槽的編號基於產生的亂數而得。
[6] 如申請專利範圍第5項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第二模組被進一步配置為基於產生的亂數來選擇所述資料傳輸槽。
[7] 如申請專利範圍第6項所述的用於原始資料組的安全資料傳輸的裝置,其中所述第二模組被進一步配置為傳輸與所選擇的資料傳輸槽相關聯的區塊。
[8] 一種用於安全資料傳輸的方法,包括以下步驟:將原始資料組劃分成多個區塊,其中所述多個區塊中的至少兩個區塊具有不同的大小;在加密處理器中對所述多個區塊進行加密;以及以隨機的順序傳輸所述多個區塊。
[9] 如申請專利範圍第8項所述的用於安全資料傳輸的方法,其中在將所述原始資料組劃分成所述多個區塊之前對所述原始資料組應用環式移位。
[10] 如申請專利範圍第8項所述的用於安全資料傳輸的方法,其中將所述原始資料中的一組識別資料分在兩個區塊之間。
类似技术:
公开号 | 公开日 | 专利标题
TWI510017B|2015-11-21|利用隨機排序和隨機區塊大小的用於安全資料傳輸的裝置和方法
US8983063B1|2015-03-17|Method and system for high throughput blockwise independent encryption/decryption
US8983061B2|2015-03-17|Method and apparatus for cryptographically processing data
EP0916209B1|2001-09-19|Cryptographic key recovery system
TWI406549B|2013-08-21|用以增強安全性之金鑰導出函數
CA2781070C|2015-06-23|Enhancing data security using permutation data transform
CN107135062A|2017-09-05|一种改进的大文件的加密方法
WO2015154285A1|2015-10-15|设备文件的加解密方法及装置
US20080192924A1|2008-08-14|Data encryption without padding
CN106936820A|2017-07-07|数据变长修改方法及其在大数据加密中的应用
WO2021057073A1|2021-04-01|一种非对称密钥中的私钥生成和使用方法、装置和设备
CN104660590B|2017-04-05|一种文件加密安全云存储方案
US10382199B2|2019-08-13|Keyword to set minimum key strength
US7802102B2|2010-09-21|Method for efficient and secure data migration between data processing systems
AU2018321922A1|2020-02-20|Cryptographic systems and methods for extending apparent size of pools of truly random numbers
US20180159681A1|2018-06-07|Method for safeguarding the information security of data transmitted via a data bus and data bus system
US7436966B2|2008-10-14|Secure approach to send data from one system to another
US20130058483A1|2013-03-07|Public key cryptosystem and technique
KR20060110383A|2006-10-25|네트워크 보안 프로세서의 다중모드 암호화 장치
CN106973061B|2020-01-17|一种基于可逆逻辑电路的aes的外发文件加密方法
CN107534558B|2022-03-01|用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
TW201629836A|2016-08-16|記憶體組織結構中安全交易技術
US11165758B2|2021-11-02|Keystream generation using media data
KR102025619B1|2019-09-27|대용량 패킷 암호화 장치 및 이를 이용하는 패킷 통신 장치
WO2021044465A1|2021-03-11|暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
同族专利:
公开号 | 公开日
US9344278B2|2016-05-17|
CN103067157A|2013-04-24|
EP2584732B1|2019-10-09|
KR20130042440A|2013-04-26|
EP2584732A1|2013-04-24|
CN103067157B|2016-12-21|
TWI510017B|2015-11-21|
US20130094650A1|2013-04-18|
KR101505583B1|2015-03-30|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
EP1097550A4|1998-07-16|2005-11-09|Francis Lambert|METHOD FOR THE SAFE TRANSFER AND STORAGE OF DATA|
WO2001069392A2|2000-03-16|2001-09-20|Boden Scott T|Method and apparatus for secure and fault tolerant data storage|
US6909758B2|2001-04-27|2005-06-21|Telefonaktiebolaget Lm Ericsson |Systems and methods for decoding data blocks|
JP4218256B2|2002-05-02|2009-02-04|富士ゼロックス株式会社|データ転送方法及びシステム|
US7457893B2|2004-03-11|2008-11-25|International Business Machines Corporation|Method for dynamically selecting software buffers for aggregation according to current system characteristics|
WO2006017362A2|2004-07-13|2006-02-16|Freedom Software, Inc.|Storing and distributing encrypted digital content|
JP2007041223A|2005-08-02|2007-02-15|Mitsubishi Electric Corp|データ配信装置及びデータ通信システム|
US7548551B2|2005-08-19|2009-06-16|Gm Global Technology Operations, Inc.|System and method of optimizing the bandwidth of a time triggered communication protocol with homogeneous slot sizes|
JP2009094605A|2007-10-04|2009-04-30|Oki Semiconductor Co Ltd|符号誤り検出装置および誤り検出符号生成装置|
KR100953564B1|2008-03-11|2010-04-21|한국전자통신연구원|주파수 선택적 기저대역을 사용하는 변복조 장치 및 이를이용한 송수신 장치|
US9008314B2|2008-11-18|2015-04-14|Verizon Patent And Licensing Inc.|Secure wireless communications|
JP2010176646A|2009-02-02|2010-08-12|Toshiba Information Systems Corp|メモリシステムおよびメモリシステムのインターリーブ制御方法|
US8488785B2|2010-04-08|2013-07-16|Oceansblue Systems, Llc|Secure storage and retrieval of confidential information|
US8533456B2|2010-10-07|2013-09-10|King Saud University|Accelerating stream cipher operations using single and grid systems|
US8671261B2|2011-04-14|2014-03-11|Microsoft Corporation|Lightweight random memory allocation|US7971347B2|2008-06-27|2011-07-05|Intel Corporation|Method of interconnecting workpieces|
FR3000826B1|2013-01-07|2015-01-16|Morpho|Procede d'acces a l'ensemble des cellules d'une zone memoire a des fins d'ecriture ou de lecture de blocs de donnees dans lesdites cellules.|
US10594687B2|2013-05-14|2020-03-17|Kara Partners Llc|Technologies for enhancing computer security|
US10057250B2|2013-05-14|2018-08-21|Kara Partners Llc|Technologies for enhancing computer security|
CN103825885A|2014-01-23|2014-05-28|广东顺德中山大学卡内基梅隆大学国际联合研究院|一种互联网内容加密发布方法及系统|
DE102014207026B4|2014-04-11|2017-02-09|Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.|Codierer, Decodierer, System und Verfahren zum Übertragen verschlüsselter Daten|
CN105468543B|2014-09-11|2020-06-16|中兴通讯股份有限公司|一种保护敏感信息的方法及装置|
US9979537B2|2014-12-02|2018-05-22|Zettaset, Inc.|Format-preserving cipher|
US9813232B2|2015-03-17|2017-11-07|Cypress Semiconductor Corporation|Device and method for resisting non-invasive attacks|
GB2548807A|2016-03-23|2017-10-04|Sony Corp|Information processing apparatus,second information processing apparatus, system,method and computer program product|
CN105791434A|2016-04-27|2016-07-20|深圳市永兴元科技有限公司|分布式数据处理方法及数据中心|
CN107147727B|2017-05-26|2018-05-15|深圳市佰仟金融服务有限公司|信息分发方法和装置|
GB2563294A|2017-06-01|2018-12-12|Zwipe As|Progressive key encryption Algorithm|
WO2019144075A1|2018-01-22|2019-07-25|John Rankin|System and method for generating random numbers|
US10574439B2|2018-01-31|2020-02-25|John Rankin|System and method for secure communication using random blocks or random numbers|
CN110365620B|2018-03-26|2021-08-13|中移软件技术有限公司|一种流式数据隐私保护方法及装置|
US11115187B2|2018-09-07|2021-09-07|Korea University Research And Business Foundation|Apparatus and method for block ciphers for real-time data transmission|
KR102172181B1|2018-09-07|2020-10-30|고려대학교 산학협력단|실시간 데이터 전송을 위한 블록 암호 장치 및 방법|
CN109495266A|2018-12-25|2019-03-19|北京字节跳动网络技术有限公司|基于随机数的数据加密方法及装置|
EP3909195A1|2019-01-09|2021-11-17|British Telecommunications public limited company|Variable data protection|
CN111510745B|2020-03-27|2021-01-19|曹新|一种互联网视频数据加密传输方法|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US201161548471P| true| 2011-10-18|2011-10-18||
US13/470,840|US9344278B2|2011-10-18|2012-05-14|Secure data transfer using random ordering and random block sizing|
[返回顶部]